import re


def extract_recommended_menu_ids(response_text):
    pattern = r'菜品ID[:：]*\s*\**\s*(\d+)'
    matches = re.findall(pattern, response_text)
    # 转为 int 并去重（保持原顺序）
    return list(dict.fromkeys(int(m) for m in matches))


# 测试用例
test_response = """
推荐菜品：
1. 麻婆豆腐 **菜品ID:** 2（重辣）
2. 清炒时蔬（菜品ID:3）
3. 红烧鲈鱼**菜品ID:**4
4. 宫保鸡丁（菜品ID: 5）
"""
if __name__ == '__main__':
    print(extract_recommended_menu_ids(test_response))  # 输出：[2, 3, 4, 5]
